package runtime

import "time"

type PreBuild struct {
	//触发类型 webhook、build
	TriggerType string `json:"triggerType"`
	//构建build所需要的信息
	Info *PreInfo `json:"info"`
}
type PreInfo struct {
	//事件类型 pr、push、run、rebuild
	Events string `json:"events"`
	//open close update
	Action string `json:"action"`
	//仓库的类型。例如github、gitee
	PipelineId        string   `json:"pipelineId"`
	PipelineVersionId string   `json:"pipelineVersionId"`
	User              *PreUser `json:"user"`
	//评论
	Note string `json:"note"`
	//pr和评论 的title
	Title            string         `json:"title"`
	PrNumber         int64          `json:"prNumber"`
	CommitMessage    string         `json:"commitMessage"`
	Repository       *PreRepository `json:"repository"`
	TargetRepository *PreRepository `json:"targetRepository"`
}
type PreUser struct {
	Id       int64  `json:"id"`
	UserName string `json:"userName"`
}
type PreRepository struct {
	Id          string    `json:"id"`
	Ref         string    `json:"ref"`
	Sha         string    `json:"sha"`
	CloneURL    string    `json:"cloneURL"`
	CreatedAt   time.Time `json:"createdAt"`
	Branch      string    `json:"branch"`
	Description string    `json:"description"`
	FullName    string    `json:"fullName"`
	GitHttpURL  string    `json:"gitHttpURL"`
	GitShhURL   string    `json:"gitSshURL"`
	GitSvnURL   string    `json:"gitSvnURL"`
	GitURL      string    `json:"gitURL"`
	HtmlURL     string    `json:"htmlURL"`
	SshURL      string    `json:"sshURL"`
	SvnURL      string    `json:"svnURL"`
	Name        string    `json:"name"`
	Private     bool      `json:"private"`
	URL         string    `json:"url"`
	Owner       string    `json:"owner"`
	RepoType    string    `json:"repoType"`
	RepoOpenid  string    `json:"repoOpenid"`
}

func (c *PreBuild) GetRepository() *PreRepository {
	return c.Info.Repository
}
